package com.yj.cmp.sdk.fusioncompute.storage.volume.vo;

import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author huangp
 * @date 2021-09-01 15:42
 */
@NoArgsConstructor
@Data
public class VolumeListVo {


    @SerializedName("total")
    private Integer total;
    @SerializedName("volumes")
    private List<VolumesDTO> volumes;

    @NoArgsConstructor
    @Data
    public static class VolumesDTO {
        @SerializedName("bindToVm")
        private Integer bindToVm;
        @SerializedName("datastoreName")
        private String datastoreName;
        @SerializedName("datastoreUrn")
        private String datastoreUrn;
        @SerializedName("indepDisk")
        private Boolean indepDisk;
        @SerializedName("ioWeight")
        private Integer ioWeight;
        @SerializedName("isDiffVol")
        private Boolean isDiffVol;
        @SerializedName("isThin")
        private Boolean isThin;
        @SerializedName("linkCloneParent")
        private Integer linkCloneParent;
        @SerializedName("maxReadBytes")
        private Integer maxReadBytes;
        @SerializedName("maxReadRequest")
        private Integer maxReadRequest;
        @SerializedName("maxWriteBytes")
        private Integer maxWriteBytes;
        @SerializedName("maxWriteRequest")
        private Integer maxWriteRequest;
        @SerializedName("name")
        private String name;
        @SerializedName("occupiedVolume")
        private Boolean occupiedVolume;
        @SerializedName("persistentDisk")
        private Boolean persistentDisk;
        @SerializedName("pvscsiSupport")
        private Integer pvscsiSupport;
        @SerializedName("quantityGB")
        private Integer quantityGB;
        @SerializedName("status")
        private String status;
        @SerializedName("storageType")
        private String storageType;
        @SerializedName("storageVersion")
        private String storageVersion;
        @SerializedName("totalRWBytes")
        private Integer totalRWBytes;
        @SerializedName("totalRWRequest")
        private Integer totalRWRequest;
        @SerializedName("type")
        private String type;
        @SerializedName("uri")
        private String uri;
        @SerializedName("urn")
        private String urn;
        @SerializedName("userUsedSize")
        private Integer userUsedSize;
        @SerializedName("uuid")
        private String uuid;
        @SerializedName("volNameOnDev")
        private String volNameOnDev;
        @SerializedName("volProvisionSize")
        private Integer volProvisionSize;
        @SerializedName("volType")
        private Integer volType;
        @SerializedName("volumeFormat")
        private String volumeFormat;
        @SerializedName("customProperties")
        private CustomPropertiesDTO customProperties;
        @SerializedName("pciType")
        private String pciType;

        @NoArgsConstructor
        @Data
        public static class CustomPropertiesDTO {
            @SerializedName("external_uuid")
            private String externalUuid;
        }
    }
}
